草庐IT

mongodb - docker备份和恢复mongodb

全部标签

mongodb - 从 mongodb 中提取嵌套结构数据

结构如下typePersonstruct{IDbson.ObjectId`bson:"_id,omitempty"`Namestring`json:"name"`Phonestring`json:"phone"`}然后想把它嵌套在另一个结构中typeCustomerstruct{IDbson.ObjectId`bson:"_id,omitempty"`StoreNamestringPersonPerson`json:"persons"`}实例化为customer:=Customer{bson.NewObjectId(),"Seattle",p1}并插入到Mongo数据库中(我正在使用g

mongodb - 如何返回 ID 为

我有一个MongoDB集合,其中包含如下示例文档:我想做的(正如您从实际代码中看到的那样)是更新members.x.role中的一个role字段,其中members.x.id等于给定的ID(ID是UUID,所以它是唯一的;这部分代码可以正常工作)然后我想返回那个members.x。但问题是它总是返回第一个成员而不是刚刚更新的那个。我已经尝试了mgo的一些方法并发现Distinct()最接近我的期望,但它并没有像我想要的那样工作。我的问题是如何返回具有指定ID的member嵌入文档?我已经看过this和this但这对我没有帮助。func(rMongoRepository)UpdateMe

mongodb - 使用 MongoDB 和 Golang 通过聚合和查找查找重复项

我需要使用MongoDB和Golang进行聚合和查找来查找重复项。这是我的Event结构。//EventdescribesthemodelofanEventtypeEventstruct{IDstring`bson:"_id"json:"_id"valid:"alphanum,printableascii"`OldIDstring`bson:"old_id"json:"old_id"valid:"alphanum,printableascii"`ParentIDstring`bson:"_parent_id"json:"_parent_id"valid:"alphanum,printa

docker - golang 程序在 docker 之外运行良好,但在 dockerized 时以 0 退出

我有以下docker-compose.yml文件:version:"3.3"services:api:build:./apiexpose:-'8080'container_name:'api'ports:-"8080:8080"depends_on:-dbstdin_open:truetty:truenetworks:-api-netdb:build:./dbexpose:-'27017'container_name:'mongo'ports:-"27017:27017"networks:-api-netnetworks:api-net:driver:bridgeapi容器的Docke

mongodb - Bson接口(interface)有一些问题

我使用带有mgo(gopkg.in/mgo.v2)包的MongoDBv3.6.4贝森varidinterface{}id=249678041972736bson.M{"_id":id}varidint64id=249678041972736bson.M{"_id":id}两个bson不一样?例如:funcGetUser(idinterface{})(*User,error){session:=MongoDB()defersession.Close()varm*Usererr:=session.DB.C("user").Find(&bson.M{"_id":id}).One(&m)//!

mongodb - 在 ObjectId 字段上的两个集合之间进行 $lookup 查询

我正在Go1.9.2中使用mongoDB3.4开发一个api我正在使用mgo作为驱动程序。在将请求及其结果插入具有两个集合的同一个数据库后,我必须做一个端点来获取请求的结果。有两个集合:第一个集合:请求第二个集合:结果requests集合的格式为{"_id":ObjectId("5afc034f53c9a77a598c8345")"time":"2018-05-1610:08:35.024352907+0000UTCm=+23.407317980""param_request":[name:"mike",age:"30",job:"Doctor"]}results集合的格式id_req

docker - 使用 Golang api 构建 docker 镜像时复制失败

我正在尝试使用官方GOAPI构建Docker镜像,但我在这一行遇到了问题:COPYpackages/tmp/packages的"message":"COPYfailed:stat/var/lib/docker/tmp/docker-builder107969114/packages:nosuchfileordirectory"其中packages是docker文件所在目录下的一个文件夹。如果我只是将docker镜像构建到Dockerfile的路径,它会按预期构建。我尝试将WORKDIR添加到Dockerfile在实际Dockerfile中的路径,但它似乎仍然找不到该文件夹​​。有人知道

mongodb - mgo mongodb 读/写示例

我是mgo的新手,需要一些帮助:我可以成功连接并打印出数据库名称、集合名称和项目编号是集合,但不知道如何打印其中的内容并写回。mgo中与以下mongodbshell命令等效的是什么?-db.coll.find()-document=({"user_id":"xxx","password":"xxx"....});-db.coll.insert(document)//////////////////////////////////////////////////////////////////packagemainimport("fmt""time""gopkg.in/mgo.v2")/

docker - 无法使用Sarama Golang软件包创建Kafka生产者客户端-“客户端/元数据在获取元数据时从代理处出错:EOF”

版本:GoLang1.10.2卡夫卡4.4.1Docker18.03.1我正在尝试使用Shopify的Sarama软件包来测试我的Kafka实例。我使用Dockercompose来站起Kafka/Zookeeper,并且一切都成功运行。当我尝试使用Sarama创建Producer客户端时,会引发错误。当我运行以下packagemainimport("fmt""log""os""os/signal""time""strconv""github.com/Shopify/sarama")funcmain(){//Setupconfigurationconfig:=sarama.NewConf

node.js - MongoDB atomic "findOrCreate": findOne, 如果不存在则插入,但不更新

正如标题所说,我想通过_id对文档进行查找(一个),如果不存在,则创建它,然后无论是找到还是创建,都在回调中返回.如果它存在,我不想更新它,正如我读到的findAndModify所做的那样。我在Stackoverflow上看到过许多与此相关的其他问题,但同样不想更新任何内容。我不确定是否通过创建(不存在的),这实际上是每个人都在谈论的更新,这太令人困惑了:( 最佳答案 从MongoDB2.4开始,不再需要依赖唯一索引(或任何其他解决方法)来进行类似findOrCreate的原子操作。这要归功于the$setOnInsertopera